load("//bazel/go:go_test.bzl", "go_test")

go_test(
    name = "test_test",
    srcs = [
        "benchmark_test.go",
        "integration_test.go",
    ],
    data = [
        "@coreutils//:bin/dd",
        "@coreutils//:bin/rm",
        "@util-linux//:bin/losetup",
    ],
    env = {
        "DD": "$(rlocationpath @coreutils//:bin/dd)",
        "LOSETUP": "$(rlocationpath @util-linux//:bin/losetup)",
        "RM": "$(rlocationpath @coreutils//:bin/rm)",
    },
    # keep
    tags = [
        "integration",
        "local",
        "no-sandbox",
    ],
    target_compatible_with = ["@platforms//os:linux"],
    deps = select({
        "@io_bazel_rules_go//go/platform:android": [
            "//disk-mapper/internal/diskencryption",
            "//internal/cryptsetup",
            "//internal/logger",
            "@com_github_martinjungblut_go_cryptsetup//:go-cryptsetup",
            "@com_github_stretchr_testify//assert",
            "@com_github_stretchr_testify//require",
            "@io_bazel_rules_go//go/runfiles",
            "@org_uber_go_goleak//:goleak",
        ],
        "@io_bazel_rules_go//go/platform:linux": [
            "//disk-mapper/internal/diskencryption",
            "//internal/cryptsetup",
            "//internal/logger",
            "@com_github_martinjungblut_go_cryptsetup//:go-cryptsetup",
            "@com_github_stretchr_testify//assert",
            "@com_github_stretchr_testify//require",
            "@io_bazel_rules_go//go/runfiles",
            "@org_uber_go_goleak//:goleak",
        ],
        "//conditions:default": [],
    }),
)
